const { DataTypes } = require('sequelize');

module.exports = function Floorplan(sequelize, namespace = '') {
	sequelize.define('FloorplanImage', {
		id: {
			type: DataTypes.INTEGER,
			allowNull: false,
			autoIncrement: true,
			primaryKey: true
		},
		fpid: {
			type: DataTypes.CHAR(32),
			allowNull: false
		},
		level: {
			type: DataTypes.INTEGER,
			allowNull: false,
			defaultValue: 0
		},
		version: DataTypes.STRING,

		// 图片类型
		type: {
			type: DataTypes.STRING
		},
		name: DataTypes.STRING,
		url: {
			type: DataTypes.STRING
		},
		width: {
			type: DataTypes.INTEGER
		},
		height: {
			type: DataTypes.INTEGER
		},

		/// 暂未使用 后续扩展使用
		areaType: {
			type: DataTypes.INTEGER, // 1为建筑面积，2为套内面积
			defaultValue: 2
		},
		showLevelNote: {
			type: DataTypes.INTEGER,
			defaultValue: 0
		},
		showSizeTag: {
			type: DataTypes.INTEGER,
			defaultValue: 1
		},
		showFurniture: {
			type: DataTypes.INTEGER,
			defaultValue: 1
		},
		showRoomArea: {
			type: DataTypes.INTEGER,
			defaultValue: 1
		},
		showRoomName: {
			type: DataTypes.INTEGER,
			defaultValue: 1
		},

		// 比例尺
		scale: {
			type: DataTypes.FLOAT,
			default: 0.1
		},

		// 边缘坐标
		edgeCoord: {
			type: DataTypes.STRING
		},
		// 原始宽度
		originWidth: {
			type: DataTypes.INTEGER
		},
		// 原始高度
		originHeight: {
			type: DataTypes.INTEGER
		},
		///
		createdAt: {
			type: DataTypes.DATE
		},
		updatedAt: {
			type: DataTypes.DATE
		},
		deletedAt: {
			type: DataTypes.DATE
		}
	}, {
		indexes: [{
			name: 'idx_fpid',
			fields: ['fpid']
		}],
		tableName: `${namespace}floorplan_image`
	});
};